Digital media contents are omnipresent nowadays; from the music files played in a portable media device (such as a favorite album played on a MP3 player) to a series of digital video clips (such as TV programming) or a digital photo album displayed on one's computer (such as someone's vacation photos). In each of these examples, the information associated with these media (e.g., the name of the album, time of the vacation, or the like) is just as important as the media itself. Users are interested in more than just the content of a particular piece of digital media. In many situations, the users want to know how media content relates to them (e.g., the name of a favorite album), to what does media content refer (e.g., TV programming), how the media content relates to other content of the same type (e.g., winter ski trip photos versus summer beach trip photos), or how media content may be associated in other organized or arbitrary ways. The abundance of digital media contents coupled with the cataloging of the information associated with them makes searching, representing, and/or managing digital media contents a challenge.
Typically, media contents and information are linearly organized. While they may be represented in many different ways, simple text strings are often frequently used. For example, suppose a user wishes to retrieve from a data store a list of albums that is currently available to the user. Current implementations typically would retrieve a list of names of albums in text strings. No other related information is provided to the user. If the user next wishes to retrieve the content (e.g., a title of a song) from one of the albums, another query is performed to retrieve the new information (e.g. the titles) from the previous retrieved results.
While such basic and logical scheme functions well in representing media contents, it fails to account for the wealth of information that should be included. From the example above, if there are two albums by two different artists with the identical name, such as “Greatest Hits,” current implementations would report two instances of the text strings “Greatest Hits,” leaving the user short of knowing which “Greatest Hits” albums belong to which artist. In some embodiments, only one instance of the string “Greatest Hits” may be returned, making even the count of elements incorrect. Users are also interested in understanding how groups of objects relate. If presented with the a list of text strings that represent a file system location for a number of digital photos most users would be forced to examine each photo to determine relevancy or value thereof. However, if users receive the same list of text strings with the knowledge that they are photos from their last vacation, they are immediately able to better judge relevancy and to determine the value of the photos.
In addition, digital portable media devices have expanded the reach of digital media content and have provided the convenience of playback of digital media files. Portable media devices, such as MP3 players, cellular phones, smart phones, personal digital assistants (PDA), and the like, play digital audio and/or video files and display digital graphics or images. These portable media devices typically have a memory storage area to store the media files or media objects. In managing the stored media objects, the portable media devices customarily build a database structure, such as a media library, in the fixed or local memory storage area available on the device. This storage may be in a solid state or magnetic (fixed disk) format.
Currently, some portable media devices reserve an amount of memory storage area for the media library to organize the media objects, in addition to storing the media objects. For example, the portable media devices may store a set of tables or an index table listing the media objects by information such as content genre, content artist, content duration, content title, content collection (album), or the like relating to the media objects.
However, in existing portable media devices where the memory storage area has a limited capacity, reserving and maintaining the media library in the memory storage area hinders the amount of media objects that can be stored in the same memory storage area. Some portable media devices are configured to accept portable or removable memory sources, such as flash memory cards (e.g., Universal Serial Bus (USB) memory sticks, xD card), or the like, to store additional media objects. These portable media devices, however, fail to provide a full and rich media library management capability to manage media objects stored in one or more storage sources.
A simplistic approach to providing a richer media management experience involves trying to “pre-budget” an amount of space in the fixed or local memory storage on the device to hold information about the media objects available on each of the removable storage devices inserted in the device. Since removable storage continue to increase in storage limits, any attempt to “pre-budget” enough space on the memory storage area of the portable media device to store the maximum possible number of entries will result in placing a maximum size limit on the removable storage that can be used in the device. In addition, users typically want more space so this artificial limit may make the device unappealing to the users as the size of compatible removable storage grows larger than the maximum size the portable media device supports. With users having multiple cards or removable memory sources, a fixed amount of reserved memory or an expected limit of memory on the portable media device is impracticable to accommodate a large database in the portable media device.